#!/bin/bash

# APS项目Kubb设置脚本
echo "🚀 开始设置APS项目Kubb API自动生成..."

# 检查Node.js是否安装
if ! command -v node &> /dev/null; then
    echo "❌ Node.js未安装，请先安装Node.js"
    exit 1
fi

# 检查npm是否安装
if ! command -v npm &> /dev/null; then
    echo "❌ npm未安装，请先安装npm"
    exit 1
fi

echo "✅ Node.js和npm已安装"

# 安装依赖
echo "📦 安装kubb相关依赖..."
npm install

if [ $? -eq 0 ]; then
    echo "✅ 依赖安装成功"
else
    echo "❌ 依赖安装失败"
    exit 1
fi

# 检查后端服务是否运行
echo "🔍 检查后端服务状态..."
if curl -s http://localhost:8080/v3/api-docs > /dev/null; then
    echo "✅ 后端服务正在运行"
else
    echo "⚠️  后端服务未运行，请先启动后端服务："
    echo "   cd ../aps-demo && mvn spring-boot:run"
    echo ""
    echo "   或者手动启动后端服务后重新运行此脚本"
    exit 1
fi

# 生成API代码
echo "🔧 生成API代码..."
npm run generate

if [ $? -eq 0 ]; then
    echo "✅ API代码生成成功"
    echo ""
    echo "🎉 Kubb设置完成！"
    echo ""
    echo "📁 生成的API代码位于: src/api/generated/"
    echo "📖 使用指南: 查看 KUBB_SETUP_GUIDE.md"
    echo ""
    echo "💡 提示:"
    echo "   - 后端API变更后，运行 'npm run generate' 重新生成"
    echo "   - 生成的代码已包含TypeScript类型定义"
    echo "   - 可以直接在Vue组件中导入使用"
else
    echo "❌ API代码生成失败"
    exit 1
fi
